package memento;

import lombok.Data;

/**
 * 原发器，也就是我们需要保存状态的对象。它可以创建一个备忘录，用于保存其当前状态，也可以使用备忘录来恢复其状态。
 */
@Data
public class Originator {
    // 状态，提供set和get方法
    private String state;

    // 保存,返回一个memento，用来从中恢复
    public Memento saveToMemento() {
        return new Memento(state);
    }

    // 恢复
    public void restoreFromMemento(Memento memento) {
        state = memento.getSavedState();
    }
}
